export default {
  identity: {
    auth: {
      // Определения полей формы - все поля формы унифицированы для проверки в fields
      fields: {
        username: {
          label: 'Имя пользователя',
          placeholder: 'Введите имя пользователя',
          validation: {
            required: 'Введите имя пользователя',
            length: 'Длина имени пользователя должна быть от 3 до 50 символов'
          }
        },
        password: {
          label: 'Пароль',
          placeholder: 'Введите пароль',
          validation: {
            required: 'Введите пароль',
            length: 'Длина пароля должна быть от 6 до 100 символов'
          }
        },
        email: {
          label: 'Электронная почта',
          placeholder: 'Введите электронную почту',
          validation: {
            required: 'Введите электронную почту',
            format: 'Введите правильный формат электронной почты'
          }
        },
        phone: {
          label: 'Номер телефона',
          placeholder: 'Введите номер телефона',
          validation: {
            required: 'Введите номер телефона',
            format: 'Введите правильный формат номера телефона'
          }
        },
        captcha: {
          label: 'Проверочный код',
          placeholder: 'Введите проверочный код',
          validation: {
            required: 'Введите проверочный код'
          }
        },
        confirmPassword: {
          label: 'Подтвердите пароль',
          placeholder: 'Введите пароль еще раз',
          validation: {
            required: 'Подтвердите пароль',
            mismatch: 'Введенные пароли не совпадают'
          }
        },
        nickName: {
          label: 'Псевдоним',
          placeholder: 'Введите псевдоним',
          validation: {
            required: 'Псевдоним не может быть пустым',
            format: '2-50 символов, разрешены китайский, японский, корейский, английский, цифры, точки и дефисы, запрещены подчеркивания и пробелы'
          }
        },
        realName: {
          label: 'Настоящее имя',
          placeholder: 'Введите настоящее имя',
          validation: {
            required: 'Настоящее имя не может быть пустым',
            format: 'Длина настоящего имени должна быть от 2 до 20 символов, только китайский, английский, цифры и подчеркивания'
          }
        },
        fullName: {
          label: 'Полное имя',
          placeholder: 'Введите полное имя',
          validation: {
            required: 'Полное имя не может быть пустым',
            format: 'Длина полного имени должна быть от 2 до 20 символов, только китайский, английский, цифры и подчеркивания'
          }
        },
        englishName: {
          label: 'Английское имя',
          placeholder: 'Введите английское имя',
          validation: {
            required: 'Английское имя не может быть пустым',
            format: 'Длина английского имени должна быть от 2 до 100 символов, должно начинаться с буквы, только английские буквы, пробелы, дефисы и точки'
          }
        },
        verificationCode: {
          label: 'Код подтверждения',
          placeholder: 'Введите 6-значный код подтверждения',
          validation: {
            required: 'Введите код подтверждения',
            length: 'Код подтверждения должен содержать 6 цифр',
            format: 'Код подтверждения должен содержать 6 цифр'
          }
        },
        newPassword: {
          label: 'Новый пароль',
          placeholder: 'Введите новый пароль',
          validation: {
            required: 'Введите новый пароль',
            length: 'Длина пароля должна быть от 6 до 20 символов',
            format: 'Пароль должен содержать заглавные и строчные буквы и цифры'
          }
        },
        gender: {
          label: 'Пол',
          placeholder: 'Выберите пол',
          validation: {
            required: 'Выберите пол'
          },
          options: {
            unknown: 'Конфиденциально',
            male: 'Мужской',
            female: 'Женский'
          }
        },
        userType: {
          label: 'Тип пользователя',
          placeholder: 'Выберите тип пользователя',
          validation: {
            required: 'Выберите тип пользователя'
          },
          options: {
            normal: 'Обычный пользователь',
            admin: 'Администратор'
          }
        },
        status: {
          label: 'Статус',
          placeholder: 'Выберите статус',
          validation: {
            required: 'Выберите статус'
          },
          options: {
            normal: 'Нормальный',
            disabled: 'Отключен'
          }
        },
        deptId: {
          label: 'Отдел',
          placeholder: 'Введите ID отдела',
          validation: {
            required: 'Введите ID отдела'
          }
        },
        roleIds: {
          label: 'Роли',
          placeholder: 'Выберите роли',
          validation: {
            required: 'Выберите роли'
          }
        },
        postIds: {
          label: 'Должности',
          placeholder: 'Выберите должности',
          validation: {
            required: 'Выберите должности'
          }
        },
        deptIds: {
          label: 'Принадлежащие отделы',
          placeholder: 'Выберите принадлежащие отделы',
          validation: {
            required: 'Выберите принадлежащие отделы'
          }
        },
        remark: {
          label: 'Примечания',
          placeholder: 'Введите примечания'
        }
      },
      
      // Вход в систему
      login: {
        title: 'Вход',
        rememberMe: 'Запомнить пароль',
        forgotPassword: 'Забыли пароль',
        submit: 'Войти',
        success: 'Успешный вход',
        noAccount: 'Еще нет аккаунта?',
        registerNow: 'Зарегистрироваться сейчас',
        notAvailable: 'Функция временно недоступна',
        error: {
          invalidCredentials: 'Неверное имя пользователя или пароль',
          userDisabled: 'Пользователь отключен',
          userNotFound: 'Пользователь не найден',
          serverError: 'Ошибка сервера, попробуйте позже',
          unknown: 'Ошибка входа, попробуйте позже'
        }
      },
      
      // Регистрация пользователя
      register: {
        title: 'Регистрация пользователя',
        subtitle: 'Пожалуйста, выполните регистрацию пользователя пошагово',
        step1: 'Идентификация',
        step2: 'Основная информация',
        step3: 'Подробная информация',
        step4: 'Настройка разрешений',
        roleUser: 'Пользователь',
        roleAdmin: 'Администратор',
        postEmployee: 'Сотрудник',
        postManager: 'Менеджер',
        deptIT: 'IT отдел',
        deptHR: 'HR отдел',
        agreement: 'Я прочитал и согласен с',
        agreementPrefix: 'Я прочитал и согласен с',
        agreementLink: '«Пользовательским соглашением»',
        agreementSuffix: '',
        agreementTitle: 'Пользовательское соглашение о регистрации',
        agreementContent: 'Пожалуйста, внимательно прочитайте и согласитесь с этим соглашением перед регистрацией.',
        submit: 'Завершить регистрацию',
        nextStep: 'Следующий шаг',
        back: 'Предыдущий шаг',
        backToLogin: 'Вернуться к входу',
        login: 'Войти с существующим аккаунтом',
        confirmPassword: 'Подтверждение пароля',
        confirmPasswordPlaceholder: 'Пожалуйста, введите пароль снова',
        deptId: 'ID отдела',
        deptIdPlaceholder: 'Пожалуйста, введите ID отдела',
        roleIds: 'Роли',
        roleIdsPlaceholder: 'Пожалуйста, выберите роли',
        postIds: 'Должности',
        postIdsPlaceholder: 'Пожалуйста, выберите должности',
        deptIds: 'Отделы',
        deptIdsPlaceholder: 'Пожалуйста, выберите отделы',
        remark: 'Примечание',
        remarkPlaceholder: 'Пожалуйста, введите примечание (необязательно)',
        success: 'Регистрация успешна',
        successTitle: 'Регистрация успешна',
        successSubtitle: 'Ваш аккаунт успешно создан, пожалуйста, войдите с новым аккаунтом',
        successMessage: 'Пользователь {userName} успешно зарегистрирован',
        step1Success: 'Проверка личности пройдена',
        step2Success: 'Проверка кода подтверждения пройдена',
        step3Success: 'Заполнение информации завершено',
        step4Success: 'Настройка разрешений завершена',
        form: {
          agreementRequired: 'Пожалуйста, прочитайте и согласитесь с пользовательским соглашением',
          captchaRequired: 'Пожалуйста, введите код подтверждения',
          usernameRequired: 'Пожалуйста, введите имя пользователя',
          usernameLength: 'Длина имени пользователя должна быть от 3 до 20 символов',
          usernameFormat: 'Имя пользователя может содержать только буквы, цифры и подчеркивания',
          emailRequired: 'Пожалуйста, введите адрес электронной почты',
          emailFormat: 'Пожалуйста, введите правильный формат электронной почты',
          passwordRequired: 'Пожалуйста, введите пароль',
          passwordLength: 'Длина пароля должна быть от 6 до 20 символов',
          passwordFormat: 'Пароль должен содержать заглавные, строчные буквы и цифры',
          confirmPasswordRequired: 'Пожалуйста, подтвердите пароль',
          passwordMismatch: 'Введенные два пароля не совпадают',
          nickNameRequired: 'Пожалуйста, введите никнейм',
          nickNameLength: 'Длина никнейма должна быть от 2 до 20 символов',
          realNameRequired: 'Пожалуйста, введите настоящее имя',
          realNameLength: 'Длина настоящего имени должна быть от 2 до 20 символов',
          fullNameRequired: 'Пожалуйста, введите полное имя',
          fullNameLength: 'Длина полного имени должна быть от 2 до 50 символов',
          englishNameLength: 'Длина английского имени должна быть от 2 до 50 символов',
          englishNameFormat: 'Английское имя может содержать только буквы и пробелы',
          phoneNumberFormat: 'Пожалуйста, введите правильный формат номера телефона',
          userTypeRequired: 'Пожалуйста, выберите тип пользователя',
          statusRequired: 'Пожалуйста, выберите статус',
          deptIdRequired: 'Пожалуйста, введите ID отдела',
          roleIdsRequired: 'Пожалуйста, выберите роли',
          postIdsRequired: 'Пожалуйста, выберите должности',
          deptIdsRequired: 'Пожалуйста, выберите отделы'
        },
        error: {
          step1Failed: 'Проверка личности не пройдена',
          step2Failed: 'Проверка кода подтверждения не пройдена',
          step3Failed: 'Заполнение информации не завершено',
          step4Failed: 'Настройка разрешений не завершена',
          unknown: 'Регистрация не удалась, попробуйте позже'
        }
      },
      
      // Восстановление пароля
      passwordRecovery: {
        title: 'Восстановление пароля',
        subtitle: 'Восстановите пароль через подтверждение электронной почты',
        step1: 'Код подтверждения',
        step2: 'Пользователь и электронная почта',
        step3: 'Код подтверждения электронной почты',
        step4: 'Сброс пароля',
        userName: 'Имя пользователя',
        userNamePlaceholder: 'Введите ваше имя пользователя',
        email: 'Адрес электронной почты',
        emailPlaceholder: 'Введите ваш адрес электронной почты',
        refreshCaptcha: 'Обновить проверочный код',
        nextStep: 'Следующий шаг',
        emailSent: 'Код подтверждения отправлен',
        emailSentDesc: 'Код подтверждения отправлен на ваш адрес электронной почты {email}, пожалуйста, проверьте',
        verify: 'Подтвердить',
        resendCode: 'Отправить повторно',
        resetPassword: 'Сбросить пароль',
        successTitle: 'Пароль успешно сброшен',
        successSubtitle: 'Ваш пароль успешно сброшен, пожалуйста, войдите с новым паролем',
        backToLogin: 'Вернуться к входу',
        back: 'Предыдущий шаг',
        identityVerified: 'Проверка личности успешна',
        codeSent: 'Код подтверждения успешно отправлен',
        emailVerified: 'Подтверждение электронной почты успешно',
        passwordResetSuccess: 'Пароль успешно сброшен',
        captchaVerified: 'Проверка проверочного кода успешна',
        successMessage: 'Пароль пользователя {userName} успешно сброшен',
        form: {
          emailRequired: 'Введите адрес электронной почты',
          userNameLength: 'Длина имени пользователя должна быть от 3 до 20 символов'
        },
        error: {
          identityVerificationFailed: 'Проверка личности не пройдена',
          sendCodeFailed: 'Отправка кода подтверждения не удалась',
          emailVerificationFailed: 'Подтверждение электронной почты не пройдено',
          passwordResetFailed: 'Сброс пароля не удался',
          captchaVerificationFailed: 'Проверка проверочного кода не пройдена',
          emailMismatch: 'Имя пользователя и адрес электронной почты не совпадают',
          invalidCode: 'Код подтверждения неверный или истек',
          codeCooldown: 'Отправка кода подтверждения слишком частая, попробуйте позже'
        }
      },
      
      // Проверочный код
      captcha: {
        title: 'Безопасная проверка',
        error: {
          initFailed: 'Инициализация проверочного кода не удалась'
        },
        behavior: {
          default: 'Пожалуйста, нажмите и перетащите ползунок вправо',
          success: 'Проверка пройдена',
          failed: 'Проверка не пройдена, попробуйте снова',
          verifyError: 'Ошибка процесса проверки, попробуйте снова'
        },
        slider: {
          bgImage: 'Фоновое изображение капчи',
          sliderImage: 'Изображение ползунка капчи',
          default: 'Пожалуйста, нажмите и перетащите ползунок для завершения головоломки',
          success: 'Проверка пройдена',
          failed: 'Проверка не пройдена, попробуйте снова',
          verifyError: 'Ошибка процесса проверки, попробуйте снова',
          maxRetryReached: 'Слишком много неудачных попыток проверки, обновите страницу и попробуйте снова',
          error: {
            invalidResponse: 'Недействительный ответ капчи',
            loadFailed: 'Не удалось загрузить капчу'
          }
        }
      },
      
      // SMS和OAuth登录功能已移除
      
      // Отпечаток устройства
      device: {
        getDeviceInfo: 'Получена информация об отпечатке устройства',
        deviceFingerprintType: 'Тип отпечатка устройства',
        deviceFingerprintNull: 'Является ли отпечаток устройства null',
        deviceFingerprintUndefined: 'Является ли отпечаток устройства undefined',
        deviceFingerprintKeyCount: 'Количество ключей отпечатка устройства',
        deviceFingerprintKeyList: 'Список ключей отпечатка устройства',
        deviceFingerprintField: 'Поле loginFingerprint отпечатка устройства',
        loginParamsDetail: 'Детали сконструированных параметров входа',
        deviceFingerprintDetail: 'Подробная информация об отпечатке устройства',
        empty: 'Пусто',
        backendHandled: 'Пусто (обрабатывается сервером)',
        set: 'Установлено',
        initSuccess: 'Инициализация информации об устройстве успешна',
        initFailed: 'Инициализация информации об устройстве не удалась',
        collectionComponent: {
          title: 'Компонент сбора информации об устройстве',
          description: 'Сбор информации об устройстве с использованием нативного Web API',
          collecting: 'Собирается...',
          collectDeviceInfo: 'Собрать информацию об устройстве',
          clearInfo: 'Очистить информацию',
          collectingInfo: 'Собирается информация об устройстве...',
          deviceInfo: 'Информация об устройстве:',
          deviceId: 'ID устройства:',
          deviceType: 'Тип устройства:',
          deviceFingerprint: 'Отпечаток устройства:',
          platform: 'Платформа:',
          language: 'Язык:',
          timezone: 'Часовой пояс:',
          screenResolution: 'Разрешение экрана:',
          colorDepth: 'Глубина цвета:',
          pixelRatio: 'Соотношение пикселей устройства:',
          cpuCores: 'Количество ядер CPU:',
          deviceMemory: 'Память устройства:',
          touchSupport: 'Поддержка касаний:',
          os: 'Операционная система:',
          browser: 'Браузер:',
          vpnDetection: 'Обнаружение VPN:',
          proxyDetection: 'Обнаружение прокси:',
          networkType: 'Тип сети:',
          cookieSupport: 'Поддержка Cookie:',
          notGenerated: 'Не сгенерировано',
          notCollected: 'Не собрано',
          notDetected: 'Не обнаружено',
          supported: 'Поддерживается',
          notSupported: 'Не поддерживается',
          bits: 'бит',
          copyToClipboard: 'Копировать в буфер обмена',
          copySuccess: 'Информация об устройстве скопирована в буфер обмена',
          copyFailed: 'Копирование не удалось, скопируйте вручную',
          errorInfo: 'Информация об ошибке',
          startCollection: 'Начало сбора информации об устройстве...',
          collectionSuccess: 'Сбор информации об устройстве успешен',
          collectionFailed: 'Сбор информации об устройстве не удался',
          copyError: 'Копирование не удалось'
        }
      },
      
      // Проверка
      validation: {
        usernamePasswordRequired: 'Имя пользователя и пароль не могут быть пустыми',
        deviceInfoRequired: 'Информация об отпечатке устройства не может быть пустой',
        deviceFingerprintRequired: 'Отпечаток устройства не может быть пустым',
        userAgentRequired: 'Пользовательский агент не может быть пустым',
        loginTypeSourceRequired: 'Тип входа и источник не могут быть пустыми'
      },
      
      // Процесс входа
      loginFlow: {
        paramsSerialized: 'Длина сериализованных параметров',
        paramsPreview: 'Предварительный просмотр сериализованных параметров',
        paramsTooLarge: 'Параметры входа слишком большие, могут вызвать проблемы с производительностью',
        serializationFailed: 'Сериализация параметров не удалась',
        forceOfflineSuccess: 'Другие устройства исключены, вход успешен',
        loginCancelled: 'Вход отменен',
        singleUserCheckFailed: 'Проверка единого пользователя не удалась, продолжаем обычный процесс входа',
        loginFailed: 'Вход не удался',
        signalRInit: 'Начало инициализации соединения SignalR',
        signalRInitSuccess: 'Инициализация соединения SignalR успешна',
        signalRInitFailed: 'Инициализация соединения SignalR не удалась',
        autoLogoutInit: 'Начало инициализации функции автоматического выхода',
        autoLogoutInitSuccess: 'Инициализация функции автоматического выхода успешна',
        autoLogoutInitFailed: 'Инициализация функции автоматического выхода не удалась',
        pageInitFailed: 'Инициализация страницы входа не удалась',
        pageInitError: 'Инициализация страницы не удалась, обновите и попробуйте снова',
        checkLockStatusFailed: 'Не удалось проверить статус блокировки аккаунта',
        singleUserCheck: {
          title: 'Обнаружение единого пользователя',
          content: 'Обнаружено, что ваш аккаунт уже вошел в систему на других устройствах (количество онлайн устройств: {onlineDeviceCount}).\n\n{reason}Хотите исключить другие устройства и продолжить вход?',
          kickout: 'Исключить другие устройства',
          cancel: 'Отменить вход'
        }
      },
      
      // Конфигурация
      config: {
        loading: 'Загрузка конфигурации...',
        loadingLoginConfig: 'Загрузка конфигурации входа, пожалуйста, подождите...',
        captchaConfigSuccess: 'Конфигурация проверочного кода загружена успешно',
        captchaConfigFailed: 'Не удалось получить конфигурацию проверочного кода',
        captchaConfigError: 'Не удалось получить конфигурацию проверочного кода сервера',
        loginMethodConfigSuccess: 'Конфигурация способа входа загружена успешно',
        loginMethodConfigError: 'Не удалось получить конфигурацию способа входа сервера',
        loginMethodConfigFailed: 'Не удалось получить конфигурацию способа входа'
      },
      
      // Компонент проверочного кода
      captchaComponent: {
        refreshSuccess: 'Проверочный код обновлен',
        refreshFailed: 'Не удалось обновить проверочный код',
        getFailed: 'Не удалось получить проверочный код',
        verifySuccess: 'Проверка проверочного кода пройдена',
        invalidParams: 'Неверные параметры проверочного кода',
        statusUpdated: 'Статус проверочного кода обновлен',
        processError: 'Ошибка при обработке успешного обратного вызова проверочного кода',
        processFailed: 'Обработка проверочного кода не удалась, попробуйте снова',
        verifyFailed: 'Проверка проверочного кода не пройдена',
        errorProcessFailed: 'Обработка ошибки проверочного кода не удалась',
        initFailed: 'Инициализация проверочного кода не удалась',
        error: 'Ошибка проверочного кода'
      },
      
      // Способы входа удалены
      
      // Ошибки
      error: {
        permanentlyLocked: 'Аккаунт заблокирован навсегда, обратитесь к администратору',
        tooManyAttempts: 'Слишком много неудачных попыток входа, аккаунт заблокирован'
      }
    }
  }
}
